Next | Prev | Up | Top | Contents | Index
Kernel Optimizations
The IRIX kernel has been carefully optimized for performance in a multiprocessor environment. Some of the optimizations are as follows:
- Instruction paths to system calls and traps are optimized, including some hand coding, to maximize cache utilization.
- In the real-time dispatch class (described further in "Using Priorities and Scheduling Queues"), the run queue is kept in priority-sorted order for fast dispatching.
- Floating point registers are saved only if the next process needs them, and restored only if saved.
- Paging I/O is prioritized with the process priority.
- The kernel tries to redispatch a process on the same CPU where it most recently ran, in hopes of finding some of its data remaining in cache (see "Understanding Affinity Scheduling").
Next | Prev | Up | Top | Contents | Index